A typical enterprise management system includes a front end component and a back end component. The front end component includes one or more client applications (e.g., web browsers and/or special purpose client applications) that generate data requests and transfer these data requests to the back end component. The data requests may provide data items to be stored or ask for data items to be returned. The back end component may include a server and a database. The server processes the data requests and accesses the database to store or retrieve the requested data.
In some enterprise management systems, a single backing data store may not be able to handle all the data generated by the front end component. For example, an enterprise management system responsible for monitoring a company's network and computers on the company's network may be constantly measuring parameters of various information technology (IT) assets (e.g., network devices, host computers, servers, etc.) and sending these measurements to the back end component for storage. With such a large amount of incoming data, it becomes crucial to be able to distribute this data across multiple data stores in an efficient manner.